// 定义模型(表Admin)
const sequelize = require('./db')
// DataTypes: 列的类型
const { DataTypes } = require('sequelize')

// 模型命名规范 首字母大写
const Admin = sequelize.define('Admin', {
    // 模型配置(配置表的列)
    // id列一般不配置,它会自动生成

    loginId: { // 登录id
        type: DataTypes.STRING,
        allowNull: false, //非空
    },
    loginpwd: { // 登录密码
        type: DataTypes.STRING,
        allowNull: false,
    },
    name: {
        type: DataTypes.STRING,
        allowNull: false,
    }
}, {
    // freezeTableName:true, 表名使用模型名
    // tableName: 'admin' 自定义表名
    // createdAt: false, 不要添加创建时间列 'create_time' 命名
    // updatedAt: false 不要添加更新时间列
    paranoid: true // 表示该表的数据不会真正的删除，而是增加一列记录删除时间
})

// 会自动生成表 模型名称+s  --> Admins

// 模型同步
// User.sync() - 如果表不存在, 则创建该表(如果已经存在, 则不执行任何操作)
// User.sync({ force: true }) - 将创建表, 如果表已经存在, 则将其首先删除
// User.sync({ alter: true }) - 这将检查数据库中表的当前状态(它具有哪些列, 它们的数据类型等), 然后在表中进行必要的更改以使其与模型匹配.
// Admin.sync()

module.exports = Admin